/**
 * 在生产环境 代理是无法生效的，所以这里没有生产环境的配置
 * The agent cannot take effect in the production environment
 * so there is no configuration of the production environment
 * For details, please see
 * https://pro.ant.design/docs/deploy
 */

// 定义代理配置的类型
interface ProxyConfig {
  target: string;
  changeOrigin: boolean;
  pathRewrite: { [key: string]: string };
}

// 定义环境配置的类型，其中键是字符串，值是 ProxyConfig 的数组（考虑到可能有多个代理规则，尽管当前示例中只有一个）
interface EnvironmentConfig {
  [key: string]: {
    [path: string]: ProxyConfig; 
    // 为了灵活性，这里允许 ProxyConfig 或 ProxyConfig[]，但根据示例应始终为 ProxyConfig
  };
}

const proxyConfig: EnvironmentConfig = {
  dev: {
    '/api/': {
      target: 'http://localhost:8081',
      changeOrigin: true,
      pathRewrite: { '^/api': '' },
    },
    '/dev/': {
      target: 'http://localhost:8081',
      changeOrigin: true,
      pathRewrite: { '^/dev': '' },
    },
  },
  test: {
    '/api/': {
      target: 'https://preview.pro.ant.design',
      changeOrigin: true,
      pathRewrite: { '^': '' },
    },
  },
  pre: {
    '/api/': {
      target: 'your pre url',
      changeOrigin: true,
      pathRewrite: { '^': '' },
    },
  },
}

export default proxyConfig;
